package com.basics.modules.security.repository;



import com.basics.modules.security.domain.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;

/**功能描述：用户持久层
 */
@Mapper
public interface UserRepository{

    /**
     * 根据用户名查询
     * @param username 用户名
     * @return /
     */
    User findByUsername(String username);

    /**
     * 根据邮箱查询
     * @param email 邮箱
     * @return /
     */
    User findByEmail(String email);

    /**
     * 修改密码
     * @param username 用户名
     * @param pass 密码
     * @param lastPasswordResetTime /
     */
    void updatePass(String username, String pass, Date lastPasswordResetTime);

    /**
     * 修改邮箱
     * @param username 用户名
     * @param email 邮箱
     */
    void updateEmail(String username, String email);

    User findById(Long id);


    void deleteById(Long id);
}
